<template>
	<view class="register">
	
		<view class="content">
			<!-- 头部logo -->
			<view class="header">
				<image v-lazy="logoImage"></image>
			</view>
			<!-- 主体 -->
			<view class="main">
				<wInput
						v-model="phoneData"
						type="text"
						maxlength="11"
						placeholder="手机号"
					></wInput>
					<wInput
						v-model="passData"
						type="password"
						maxlength="16"
						placeholder="登录密码"
						isShowPass
					></wInput>
					<wInput
						v-model="verCode"
						type="number"
						maxlength="6"
						placeholder="验证码"
						setTime="60"
						isShowCode
						ref="runCode"
						@setCode="getVerCode()"
					></wInput>
					
				</view>
				
				<wButton 
					text="注 册"
					:rotate="isRotate" 
					@click.native="startReg()"
				></wButton>
			
			<!-- 底部信息 -->
			<view class="footer">
<!-- 				<text 
					@tap="isShowAgree" 
					class="cuIcon"
					:class="showAgree?'cuIcon-radiobox':'cuIcon-round'"
				>同意</text> -->
				<!-- 协议地址 -->
<!-- 				<navigator url="" open-type="navigate">《协议》</navigator> -->
			</view>
		</view>
	</view>
</template>

<script>
	var _this;
	import wInput from '../../components/watch-login/watch-input.vue' //input
	import wButton from '../../components/watch-login/watch-button.vue' //button
	import userApis from '@/common/services/user.js';
	import { getCookie, setCookie } from '@/utils/cookiesUtil.js';
	import { encryption } from '@/utils/aesEncrypt.js';
	import api from '@/common/services/api.js'; 
	export default {
		data() {
			return {
				//logo图片 base64
				logoImage: '',
				phoneData:'', // 用户/电话
				passData:'', //密码
				verCode:"", //验证码
				showAgree:true, //协议是否选择
				isRotate: false, //是否加载旋转
				// iv: '', // 加密参数1
				// key: ''// 加密参数2
			}
		},
		components:{
			wInput,
			wButton,
		},
		mounted() {
			_this= this;
		},
		onLoad() {
			// if (!getCookie('iv') || !getCookie('key')) {
			// 	api.getPassWord().then( res=> {
			// 		this.iv = res.iv;
			// 		this.key = res.key;
			// 		setCookie('iv', res.iv)
			// 		setCookie('key', res.key)
			// 	 })
			// } else {
			// 	this.iv = getCookie('iv')
			// 	this.key = getCookie('key')
			// }

		},
		methods: {
			isShowAgree(){
				//是否选择协议
				_this.showAgree = !_this.showAgree;
			},
			getVerCode(){
				//获取验证码
				if (_this.phoneData.length != 11) {
				     uni.showToast({
				        icon: 'none',
						position: 'bottom',
				        title: '手机号不正确'
				    });
				    return false;
				}
				userApis.getShortMessage({
					mobile: _this.phoneData,
					smsmode: '1'
				}).then(res => {
					this.$refs.runCode.$emit('runCode'); //触发倒计时（一般用于请求成功验证码后调用）
					uni.showToast({
					    icon: 'none',
						position: 'bottom',
					    title: '短信发送成功！'
					});
				}).catch(error => {
					console.error('发送验证码失败')
				})
			},
		    startReg() {
				console.log('sss:', this.phoneData, this.verCode, this.passData, getCookie('openId'))
				//注册
				if(this.isRotate){
					//判断是否加载中，避免重复点击请求
					return false;
				}
				if (this.showAgree == false) {
				    uni.showToast({
				        icon: 'none',
						position: 'bottom',
				        title: '请先同意《协议》'
				    });
				    return false;
				}
				if (this.phoneData.length !=11) {
				    uni.showToast({
				        icon: 'none',
						position: 'bottom',
				        title: '手机号不正确'
				    });
				    return false;
				}
		        if (!this.$validate.pws(this.passData)) {
		            uni.showToast({
		                icon: 'none',
						position: 'bottom',
						title: '密码应该为6-16位 字母数字的组合'
		            });
		            return false;
		        }
				if (this.verCode.length < 6) {
				    uni.showToast({
				        icon: 'none',
						position: 'bottom',
				        title: '验证码不正确'
				    });
				    return false;
				}
				_this.isRotate=true
				userApis.userRegister({
					phone: this.phoneData,
					smscode: this.verCode,
					password: this.passData,
					openId: getCookie('openId')
				}).then(() => {
					_this.isRotate=false
					uni.showToast({
						icon: 'none',
						position: 'bottom',
						title: '注册成功！'
					});
					setTimeout(function(){
						uni.navigateTo({
							url: './login'
						})
					},500)
				}).catch(error => {
					console.error('该手机号已注册~~')
					this.phoneData = '';
					this.passData = '';
					this.verCode = '';
				})

		    }
		}
	}
</script>

<style>
	@import url("../../components/watch-login/css/icon.css");
	@import url("./css/main.css");
</style>